Hardware-independent Proofs of Numerical Programs

نویسندگان

  • Sylvie Boldo
  • Thi Minh Tuyen Nguyen
چکیده

On recent architectures, a numerical program may give different answers depending on the execution hardware and the compilation. Our goal is to formally prove properties about numerical programs that are true for multiple architectures and compilers. We propose an approach that states the rounding error of each floating-point computation whatever the environment. This approach is implemented in the Frama-C platform for static analysis of C code. Small case studies using this approach are entirely and automatically proved.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hardware-Dependent Proofs of Numerical Programs

We present an approach for proving behavioral properties of numerical programs by analyzing their compiled assembly code. We focus on the issues and traps that may arise on oating-point computations. Direct analysis of the assembly code allows us to take into account architectureor compiler-dependent features such as the possible use of extended precision registers. The approach is implemented ...

متن کامل

Taking architecture and compiler into account in formal proofs of numerical programs. (Preuves formelles de programmes numériques en prenant en compte l'architecture et le compilateur)

On some recently developed architectures, a numerical program may give different answersdepending on the execution hardware and the compilation. These discrepancies of the resultscome from the fact that each floating-point computation is calculated with different precisions.The goal of this thesis is to formally prove properties about numerical programs while takingthe architect...

متن کامل

Proving wire-wise correctness for Handel-C hardware compilation in HOL

The compilation of Handel-C programs into net-list descriptions of hardware components has been extensively used in commercial tools but never formally verified. In this paper we first introduce a variation of the existing semantic model for Handel-C compilation that is amenable for mechanical proofs and detailed enough to analyse properties about the generated hardware. We then use this model ...

متن کامل

Formal veri cation of numerical programs: from C annotated programs to Coq proofs

Numerical programs may require a high level of guarantee. This can be achieved by applying formal methods, such as machinechecked proofs. But these tools handle mathematical theorems while we are interested in C code. To achieve this high level of con dence on C programs, we use a chain of tools: Frama-C, its Jessie plugin, Why and Coq. This requires the C program to be annotated: this means th...

متن کامل

Manipulation of Matrices Symbolically

Traditionally, matrix algebra in computer algebra systems is “implemented” in three ways: • numeric explicit computation in a special arithmetic domain: exact rational or integer, highprecision software floating-point, interval, or conventional hardware floating-point. • ‘symbolic’ explicit computation with polynomial or other expression entries, • (implicit) matrix computation with symbols def...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010